1. Field of the Invention
Embodiments of the present invention relate, in general, to forwarding data frames in a wireless network and particularly to a six field address scheme for multiple hop forwarding of data frames in a wireless mesh network.
2. Relevant Background
An increasing number of people today depend on the ability to connect to wireless networks in a variety of situations. While one-hop access points were a suitable solution in the beginning, they suffer from problems such as low coverage area and being overloaded. One solution to this dilemma is the use of wireless mesh networks (“WMN”).
Mesh networking is a way to route data, voice, video, and instructions between the nodes of the network. It allows for continuous connections and reconfiguration around broken or blocked paths by “hopping” from node to node until the destination is reached. Mesh networks differ from other networks in that the component parts can all connect to each other via multiple hops, and they generally are not mobile. Thus each node in a mesh network can communicate with other nodes in its immediate neighborhood.
Whereas the Internet is mostly a wire-based, co-operative electronic communication infrastructure similar to the international postal agreement, in that messages are mutually delivered and relayed within their separate domains free of charge (i.e. if you relay my messages within your domain I'll relay your messages within mine), a mesh is a wireless co-operative communication infrastructure between a massive amount of individual wireless transceivers (i.e. a wireless mesh) that have Ethernet-type capabilities.
This type of infrastructure is decentralized (with no central server) providing a relatively inexpensive, very reliable, and resilient system as each node need only transmit as far as the next node. Nodes act as repeaters to transmit data from nearby nodes to peers that would otherwise be too far away to reach, resulting in a network that can span large distances without wired cable in between, especially over rough or difficult terrain. Mesh networks are also extremely reliable, as each node is connected to several other nodes. When one node drops out of the network, due to hardware failure or any other reason, its neighbors simply find another route. Extra capacity can be installed by simply adding more nodes. The network solutions involving mesh networks are as diverse as communications in difficult environments such as home networks, office networks, public access networks, emergency situations, tunnels and oil rigs to battlefield surveillance and high speed mobile video applications on board public transport or real time racing car telemetry.
Mesh networking operates on a principle similar to the way packets travel around the wired Internet—data will hop from one device to another until it reaches a given destination. Dynamic routing capabilities included in each device within the network allow this to happen. To implement such dynamic routing capabilities, each device needs to communicate its routing information to every device it connects with, “almost in real time”. Each device then determines what to do with the data it receives—either pass it on to the next device or keep it. Obviously each node within the network must have a unique identity called a network address to facilitate peer-to-peer communication among the nodes. Due to the irregular and spontaneous nature of IP mesh network topology the address assignment becomes a non-trivial issue. To address this issue each mesh point in a 802.11 mesh networks use a media access control (“MAC”) address allocated by the manufacture of the device.
The Institute of Electrical and Electronic Engineers (“IEEE”) 802.11 standard identifies services that must be provided by a distribution system. A distribution system, be it wireless or wired, is the fundamental part of a network as it is the mechanism by which one access point communicates with another to exchange frames, forward frames to follow mobile stations from one location to another, and to exchange frames with wired networks.
To better understand the present invention, consider a typical wireless network as is known in the prior art and shown in FIG. 1. In this simplified depiction of a wireless network 100, the external network 110 is coupled to a gateway or portal 120 via a wired infrastructure 115. The portal 120 may be an Ethernet bridge and not only serve the role as a portal to the external network 110 but also as an access point for the wireless network 100. This simplified example of a wireless network 100 is a typical Basic Service Set (“BSS”) in 802.11 networks. In such a wireless network several stations are associated with an access point or portal. The access point connects the wireless network with a wired network and normally relays frames among the stations with which it is associated. In this example, the network 100 includes three nodes, a laptop 130, a desktop 140 and a printer 150. Normally, each communicates wirelessly with portal 120 via a single hop in the network. Thus, when a print command is generated from either the laptop 130 or the desktop 140, it normally travels to the printer 150 via the portal/router 120.
FIG. 2 is a depiction of a multiple-hop distribution system (“DS”) 200 (mesh network) as is known in the prior art. The DS 200 shown is comprised of three nodes or mesh points (“MPs”) 220, 230, 240, 250, 260. In a mesh network, a mesh point is a computer with a network interface card (“NIC”) or a handheld computer or similar device with access to the network. The uppermost MP 220 is in this depiction coupled to an external network 110 via a wired infrastructure 115. This uppermost MP 220 also serves as a mesh point portal (“MPP”) for the remaining MPs 230, 240. Each mesh point in the DS 200 is coupled to each other via a single hop. Two MPs 230, 240 shown in FIG. 1 are each coupled to a mesh access point (“MAP”) 250, 260. The two MAPs 250, 260 are each connected to two stations (“STA”) 270, 280. Generally, any entity that has station functionality and provides access to the distribution services via the wireless medium for associated stations (“STAs”) is an access point. MAPs are part of a mesh network as they are an independent MP with access point functionality that is not coupled with the MP. Furthermore each MAP has routing functionality. Please be notice that 4-address format of 802.11 with the help of default routing to the root of the wireless mesh network (wherein the root possesses a global proxy table) plus a local proxy table in each MP (outside of the root) can support frame forwarding in a multiple-hop mesh network.
As previously mentioned, each node or MP must have a unique network address and there must be a means by which to direct frames of data to the correct address. Based on a distribution system shown in FIG. 2, an address scheme was developed having four (4) fields. This four address format enables implementation of relay-type services in a multiple-hop wireless DS with the help of default routing to the root (having a global/local proxy table at the root and/or global/local proxy table in each MP). The root has a global proxy table for all STAs associated with MAPs (to map STAs to MAPs that they associate with) and all external nodes of MPPs (to map external nodes to MPPs). Each MP has local proxy table for all STAs associated with MAPs that are part of its subtree and all external nodes of MPPs which are part of its subtree. Each MAP has a local proxy table for all STAs associated with it to decide whether the received frames are from a STA with which it is associated.
In the four address format, the source address (“SA”) and destination address (“DA”) can be different from the receiver address (“RA”) and transmitter address (“TA”). In the previous example each MP and STA possess a unique address and the root (MPP) maintains a global mapping table for all of the STAs associated with MAPs registered in the mesh network. This mapping table maps each STA to its associated MAP. It also maps each external node to a MPP which can forward frames to it. In tree-based routing, the root also maintains a routing table for each MP in the mesh network. Each MP maintains a routing table for its child MP in its subtree. It also maintains a local proxy table for all STAs associated with MAPs which are part of its subtree and all external nodes of MPPs which are part of its subtree. In link-state routing which is not shown here, each MP maintains a routing table for each MP in the mesh network. It also maintains a global proxy table for all STAs associated with each MAP in the mesh network and all external nodes of each MPP in the mesh network. Each MP tries to find the next hop to the destination MP/proxy MP through its routing table. If the destination node is an external node of the mesh network, the proxy table is used to find the destination proxy MP of the destination external node. If a MP can not find route for these frames, the default route is used. This default route takes all frames to the root. At the root the next hop to the destination can always be determined since the root has the path information to all the MPs in the mesh network and each MAP is aware of any STA affiliated with that access point. We can easily find that proxy tables are maintained in each MP but this approach requires substantial allocation of memory and is difficult to maintain. Also the default routing will be used in the path to root which is not good.
FIG. 3 shows a four block addressing scheme for a frame of data under the 802.11 standard as is known in the prior art for transmitting frames from one wireless station to another wireless station traveling through the root. The address scheme 300 comprises four address blocks. Address block number one 310 identifies the receiver address and address block two 320 identifies the transmitter address of the data frames. Blocks three 330 and four 340 represent the different meaning of the data frames respectively when the data frames are transmitted from a STA to its associated AP, from its associated AP to a STA and in distribution networks. Blocks three 330 is the destination address and block four 340 is not applicable when the data frames are transmitted from a STA to its associated AP. Blocks three 330 is the source address and block four 340 is not applicable when the data frames are transmitted from its associated AP to a STA. Blocks three 330 is the destination address and block four 340 is the source address when the data frames are transmitted in distribution networks. Thus, in the example of a frame being sent from STA1 270 to STA2 280 via the root (MPP) 220, the final destination is STA2 280 and the originating station is STA 1 270.
Initially the immediate transmitter of the packet is STA1 270 and the receiver is MAP 1 250. Thus, the first iteration of the address scheme is as shown in block 350. Note that address block four is omitted. The STA to MAP connection is not part of the wireless distribution system thus the forth address in not applicable. After MAP1 250 receives the frame, it tries to find the destination STA2 in its BSS 285 or the routing table. Because MAP1 can not find STA2 in its BSS and the exact path for STA2, the default path to the root is used and the next hop to the root is MP1 which is the receiver address (RA). The addresses of block one 310 and block two 320 change from MAP1 and STA1 to MP1 and MAP1, respectively. Note that the destination address and source address in block three 330 and block four 340, respectively, reflect the ultimate destination and the original source. The address scheme is as shown in block 360. When MP1 230 receives frames for STA2 from MAP1, it does the same process as was done by MAP1 (see block 370) and finds that the next hop to the root is the root. Thus the MP1's read of the destination address STA2 is unrecognized causing the frame to be routed to the portal or root of the DS 200. When the root receives frames for STA2 from MP1, it finds the proxy MP of STA2 which is MAP2. Then the root finds the next hop of MAP2 which is MP2. The addresses of block one 310 and block two 320 thereafter change to MP2 and root, respectively (block 380). Again note that the destination address and source address in block three 330 and block four 340, respectively, reflect the ultimate destination and the original source. When MP2 receives frames for STA2 from the root, it finds the proxy MP of STA2 that is MAP2 (block 385). MP2 then finds the next hop of MAP2 which is MAP2. The addresses of block one 310 and block two 320 change to MAP2 and MP2, respectively. (Again the destination address and source address in block three 330 and block four 340, respectively, reflect the ultimate destination and the original source.) When MAP2 receives frames for STA2 from MP2, it finds that STA2 is one of its associated STA. Then MAP2 uses the address scheme from DS to STA. The addresses of block one 310 and block two 320 change to STA2 and MAP2, respectively. Finally, note that block three 330 is the original source address and block four 340 is omitted (block 390).
Significantly, the previous examples contemplate one possible method of multiple hop frame forwarding via 802.11 four address format, possessing a proxy address list in each MP and default routing. However, this four address scheme cannot efficiently support all cases of routing and forwarding in multi-hopping mesh networks, in other words, default routing must be used in the path from the source to the root if the source can not find a path for the destination in the routing table. Furthermore, traffic grooming (“TG”) mesh networks, wherein frames from one STA associated with a MAP are delivered through multiple MPs to another STA associated with another MAP, is not efficiently supported, in other words, default routing and proxy table in each MP must be used.